package com.then.architecture.di;

import android.app.Application;

import com.luojilab.componentservice.GlobalEventManager;
import com.luojilab.componentservice.prefs.Preferences;
import com.then.architecture.Country;
import com.then.architecture.InjectorMap;
import com.umeng.socialize.UMShareAPI;

import javax.inject.Singleton;

import dagger.Component;
import dagger.android.support.AndroidSupportInjectionModule;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;

/**
 * Created by 42524 on 2018/1/12.
 */

@Singleton
@Component(modules = {
        AndroidSupportInjectionModule.class,
        DaggerModule.class})
public interface DaggerComponent {

    Application application();

    void inject(DaggerDelegate daggerDelegate);

    InjectorMap injectorMap();

    OkHttpClient okHttpClient();

    HttpUrl httpUrl();

    Preferences simplePreferences();

    UMShareAPI uMShareAPI();

    Country country();

    GlobalEventManager globalEventManager();
}